#ifndef __LIBRC522_H
#define __LIBRC522_H
#include "sys/stat.h"
#include <stdio.h> 
#include <linux/types.h> 
#include <stdlib.h> 
#include <fcntl.h> 
#include <unistd.h> 
#include <sys/types.h> 
#include <sys/ioctl.h> 
#include <errno.h> 
#include <assert.h> 
#include <string.h> 
#include <linux/i2c.h> 
#include <linux/i2c-dev.h>
#include <sstream>
#include <thread>
#include <atomic>
#include <functional>
#include "ctl_gpio.h"

// 回调函数类型定义 - 当检测到卡片时调用，参数为卡号和卡长度
typedef std::function<void(const unsigned char*, size_t)> CardDetectCallback;

int stop_cardread();
int start_cardread(CardDetectCallback cb,int freq);
void cardDetected(const unsigned char* uid, size_t len);
int card_read_init(CardDetectCallback cb,int freq);
#endif



